#!/usr/bin/env bash

set -x

rm -rf esc
mkdir esc
go get github.com/mjibson/esc
/root/go/bin/esc -o esc/views.go -pkg=esc views

# 获取源码最近一次 git commit log，包含 commit sha 值，以及 commit message
GitCommitLog=`git log --pretty=oneline -n 1`
# 将 log 原始字符串中的单引号替换成双引号
GitCommitLog=${GitCommitLog//\'/\"}
# 检查源码在git commit 基础上，是否有本地修改，且未提交的内容
GitStatus=`git status -s`
# 获取当前时间
BuildTime=`date +'%Y.%m.%d.%H%M%S'`
# 获取 Go 的版本
BuildGoVersion=`go version`

# 将以上变量序列化至 LDFlags 变量中
LDFlags=" \
    -X 'gitee.com/konyshe/gogo.GitCommitLog=${GitCommitLog}' \
    -X 'gitee.com/konyshe/gogo.GitStatus=${GitStatus}' \
    -X 'gitee.com/konyshe/gogo.BuildTime=${BuildTime}' \
    -X 'gitee.com/konyshe/gogo.BuildGoVersion=${BuildGoVersion}' \
"

go get offline-analysis

# 编译多个可执行程序
go build -ldflags "$LDFlags"
ls -lrt
. -v
echo 'build done.'